home *** CD-ROM | disk | FTP | other *** search
/ Alles Voor Internet / Tout Pour Internet / alles voor internet.iso / MacInternet™ / Telnet / NCSA / tn3270 2.4d7 source / tn3270 / default.kbmap < prev    next >
Text File  |  1992-04-17  |  14KB  |  534 lines

  1. #
  2. #  tn3270 for the Macintosh Source Code
  3. #  Brown University Computing and Information Services
  4. #  Version 2.4d7  April, 1992
  5. #  Copyright (c) 1988, 1989, 1990, 1991, 1992 by Brown University and by
  6. #  Peter John DiCamillo.
  7. #
  8. #  Permission is granted to any individual or institution to use, copy,
  9. #  or redistribute the binary version of this software and its
  10. #  documentation provided this notice and the copyright notices are
  11. #  retained.  Permission is granted to any individual or non-profit
  12. #  institution to use, copy, modify, or redistribute the source files
  13. #  of this software provided this notice and the copyright notices are
  14. #  retained.  This software may not be distributed for profit, either
  15. #  in original form or in derivative works, nor can the source be
  16. #  distributed to other than an individual or a non-profit institution.
  17. #  Any  individual or group interested in seeing and/or using these
  18. #  source files but who are prevented from doing so by the above
  19. #  constraints should contact Don Wolfe, Assistant Vice-President for
  20. #  Computer Systems at Brown University, (401) 863-7250, for possible
  21. #  software licensing of the source developed at Brown.
  22. #
  23. #  Brown University and Peter John DiCamillo make no representations
  24. #  about the suitability of this software for any purpose.
  25. #
  26. #  BROWN UNIVERSITY AND PETER JOHN DICAMILLO GIVE NO WARRANTY, EITHER
  27. #  EXPRESS OR IMPLIED, FOR THE PROGRAM AND/OR DOCUMENTATION PROVIDED,
  28. #  INCLUDING, WITHOUT LIMITATION, WARRANTY OF MERCHANTABILITY AND
  29. #  WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE.
  30. #
  31.  
  32. #
  33. # tn3270 keycode mapping definition
  34. #
  35. # General syntax rules:
  36. #    Case is ignored except in the name of the key mapping, and in character
  37. #    literals, e.g. 'a'.
  38. #
  39. #    Blank lines, white space, and any text following "#" on a line is ignored.
  40. #
  41. # The three types of definition lines are the mapping name definition, the
  42. # mapping number definition, and the key mapping definition:
  43. #
  44. #    To name this mapping:
  45. #        name: {mapping name}
  46. #    Underscores in the name are replaced by blanks.  Use two consecutive
  47. #    underscores to include an underscore in the name.
  48. #
  49. #    To assign a resource number for this mapping:
  50. #        number: {resource number}
  51. #    This number is only used when the resource is written out in "Rez"
  52. #    file format.
  53. #
  54. #    To map a function to a key sequence:
  55. #         function = [modifier] {'literal' | "hexcode" | "Khexcode"}
  56. #
  57. #    Function names are listed below.  Following each name enclosed in
  58. #    parenthesis is the EBCDIC hex code the name maps to.
  59. #      Punctuation Marks:
  60. #        space (40)        cent (4A)        period (4B)            less (4C)
  61. #        lparen (4D)        plus (4E)        or (4F)                ampersand (50)
  62. #        exclaim (5A)    dollar (5B)        asterisk (5C)        rparen (5D)
  63. #        semi (5E)        not (5F)        minus (60)            slash (61)
  64. #        vertical (6A)    comma (6B)        percent (6C)        underscore (6D)
  65. #        greater (6E)    question (6F)    accent (79)            colon (7A)
  66. #        pound (7B)        at (7C)            apostrophe (7D)        equal (7E)
  67. #        dblquote (7F)    tilde (A1)        lbrack (AD)            rbrack (BD)
  68. #        lbrace (C0)        rbrace (D0)
  69. #      Lowercase Letters:
  70. #        lca through lci (81 through 89)
  71. #        lcj through lcr (91 through 99)
  72. #        lcs through lcz (A2 through A9)
  73. #      Uppercase Letters:
  74. #        a through i    (C1 through C9)
  75. #        j through r (D1 through D9)
  76. #        s through z (E2 through E9)
  77. #      Digits:
  78. #        0 through 9 (F0 through F9)
  79. #      APL Characters: (hex codes given are preceded by Graphics Escape)
  80. #        Note: APL mode must be in effect for these characters to be generated.
  81. #        a_ through i_ (41 through 49) (underscored uppercase letters)
  82. #        j_ through r_ (51 through 59)
  83. #        s_ through z_ (62 through 69)
  84. #        i-beam (DA)            del-tilde (FB)        grade-down (DC)
  85. #        grade-up (DD)        vert-rotate (CD)    transpose (CF)
  86. #        hor-rotate (ED)        logarithm (FD)        nor (CB)
  87. #        nand (CA)            apl-exclaim (DB)    domino (EE)
  88. #        quote-quad (DE)        delta_ (FC)            format (FE)
  89. #        execute (EF)        lamp (DF)            expand (EB)
  90. #        compress (EA)
  91. #      ALA Characters (for use the built-in ALA font)
  92. #        subfield_delimiter (1F)            acute (9B)
  93. #        end_of_line (2A)                ala_circumflex (9C)
  94. #        start_of_message (38)            hacek (9D)
  95. #        paragraph (39)                    ligature_second_half (9E)
  96. #        dagger (3A)                        double_tilde_second_half (9F)
  97. #        double_dagger (3B)                ala_dagger (A0)
  98. #        polish_l_upper (41)                sub_plus (AA)
  99. #        scandinavian_o_upper (42)        sub_lparen (AB)
  100. #        d_with_crossbar_upper (43)        pincushion (AC)
  101. #        icelandic_thorn_upper (44)        sub_minus (AE)
  102. #        digraph_ae_upper (45)            sub_rparen (AF)
  103. #        digraph_oe_upper (46)            sup0 (B0)
  104. #        o-hook_upper (47)                sup1 (B1)
  105. #        u-hook_upper (48)                sup2 (B2)
  106. #        soft_sign (49)                    sup3 (B3)
  107. #        polish_l_lower (51)                sup4 (B4)
  108. #        scandinavian_o_lower (52)        sup5 (B5)
  109. #        d_with_crossbar_lower (53)        sup6 (B6)
  110. #        icelandic_thorn_lower (54)        sup7 (B7)
  111. #        digraph_ae_lower (55)            sup8 (B8)
  112. #        digraph_oe_lower (56)            sup9 (B9)
  113. #        o-hook_lower (57)                sup_plus (BA)
  114. #        u-hook_lower (58)                sup_lparen (BB)
  115. #        hard_sign (59)                    asper (BC)
  116. #        ayn (62)                        sup_minus (BE)
  117. #        alif (63)                        sup_rparen (BF)
  118. #        dot_in_middle_of_line (64)        circle_below (CA)
  119. #        turkish_i_lower (65)            dot_below (CB)
  120. #        musical_flat (66)                double_dot_below (CC)
  121. #        subscript_patent_mark (67)        breve (CD)
  122. #        eth (68)                        ala_tilde (CE)
  123. #        plus_or_minus (69)                pseudo_question (CF)
  124. #        sub0 (70)                        cedilla (DA)
  125. #        sub1 (71)                        high_comma_centered (DB)
  126. #        sub2 (72)                        right_hook (DC)
  127. #        sub3 (73)                        upadhmaniya (DD)
  128. #        sub4 (74)                        macron (DE)
  129. #        sub5 (75)                        double_acute (DF)
  130. #        sub6 (76)                        british_pound (E1)
  131. #        sub7 (77)                        right_cedilla (EA)
  132. #        sub8 (78)                        high_comma_off_center (EB)
  133. #        script_l (80)                    left_hook/tail (EC)
  134. #        circle_above (8A)                ala_underscore (ED)
  135. #        superior_dot (8B)                double_underscore (EE)
  136. #        umlaut (8C)                        ala_alpha (FA)
  137. #        candrabindu (8D)                ala_beta (FB)
  138. #        ligature_first_half (8E)        ala_gamma (FC)
  139. #        double_tilde_first_half (8F)    yen (FD)
  140. #        sub9 (90)                        peso (FE)
  141. #        grave (9A)
  142. #      Attention Keys: (hex codes are the AID codes transmitted)
  143. #        pf1 through pf9 (F1 through F9)
  144. #        pf10 through pf12 (7A through 7C)
  145. #        pf13 through pf21 (C1 through C9)
  146. #        pf22 through pf24 (4A through 4C)
  147. #        enter (7D)        pa1 (6C)        pa2 (6E)        pa3 (6B)
  148. #        clear (6D)        treq (F0)        cursel (7E)
  149. #      Cursor Movement:
  150. #        up                down            left        right        tab
  151. #        backtab            newline            home        up*2        down*2
  152. #        left*2            right*2
  153. #      Editing:
  154. #        erase-eof        erase-input        delete-char        insert-char
  155. #        dup                field-mark        rub-out
  156. #      Program Control:
  157. #        insert-mode (toggle insert mode)
  158. #        apl-mode (toggle keyboard APL mode)
  159. #        cursor-pos (toggle cursor position display)
  160. #        reset (unlock keyboard)
  161. #        prog-reset (reset program; resets above modes and I/O)
  162. #        print-screen  (equivalent to "Print Screen..." from the "File" menu)
  163. #
  164. #    Modifier is: normal, shift, command, command-shift, or option.  
  165. #   If the user presses more than one modifier key, the precedence of the
  166. #    modifiers is: command-shift, command, option, and shift.  It is not
  167. #    possible to specify mapping for other combinations, such as command-option.
  168. #    For ASCII key mappings, when "modifier" is omitted, the mapping applies
  169. #    to both "normal" and "shift".  For keycode mappings, the default modifier
  170. #    is "normal", i.e. no modifiers.
  171. #
  172. #    'literal' specifies a mapping to the ASCII code defined by the character
  173. #    literal.
  174. #
  175. #    "hexcode" specifies a mapping to the ASCII code given in hex.  It must
  176. #    consist of exactly two hex digits.
  177. #
  178. #    "Khexcode" specifies a keycode mapping to the code given in hex.  It must
  179. #    consist of exactly two hex digits.
  180. #    If a keycode mapping is defined for a key, it takes precedence over an
  181. #    ASCII code mapping for it.
  182. #    Keycode mapping use the raw key codes provided by the Macintosh operating
  183. #    system for a key press event.  They are hardware dependent, and should only
  184. #    be used when keys which must be distinguished return the same ASCII codes.
  185. #    For keycode values see "The Toolbox Event Manager" chapter in volumes 1 and
  186. #    5 of "Inside Macintosh".
  187. #
  188. # tn3270 default mapping:
  189. #
  190. name: default
  191. number: 128
  192.  
  193. # charcter mappings
  194.  
  195. space = "20"        # spaces are ignored in literals too
  196. cent = option "d2"    # option [
  197. period = '.'
  198. less = '<'
  199. lparen = '('
  200. plus = '+'
  201. or = '|'
  202. ampersand = '&'
  203. exclaim = '!'
  204. dollar = '$'
  205. asterisk = '*'
  206. rparen = ')'
  207. semi = ';'
  208. not = '^'
  209. minus = '-'
  210. slash = '/'
  211. vertical = option '`'
  212. comma = ','
  213. percent = '%'
  214. underscore = '_'
  215. greater = '>'
  216. question = '?'
  217. accent = '`'
  218. colon = ':'
  219. pound = "23"    # can't use comment delimiter in a literal!
  220. at = '@'
  221. apostrophe = '''
  222. equal = '='
  223. dblquote = '"'
  224. lca = 'a'
  225. lcb = 'b'
  226. lcc = 'c'
  227. lcd = 'd'
  228. lce = 'e'
  229. lcf = 'f'
  230. lcg = 'g'
  231. lch = 'h'
  232. lci = 'i'
  233. lcj = 'j'
  234. lck = 'k'
  235. lcl = 'l'
  236. lcm = 'm'
  237. lcn = 'n'
  238. lco = 'o'
  239. lcp = 'p'
  240. lcq = 'q'
  241. lcr = 'r'
  242. lcs = 's'
  243. lct = 't'
  244. lcu = 'u'
  245. lcv = 'v'
  246. lcw = 'w'
  247. lcx = 'x'
  248. lcy = 'y'
  249. lcz = 'z'
  250. tilde = '~'
  251. lbrack = '['
  252. rbrack = ']'
  253. lbrace = '{'
  254. rbrace = '}'
  255. a = 'A'
  256. b = 'B'
  257. c = 'C'
  258. d = 'D'
  259. e = 'E'
  260. f = 'F'
  261. g = 'G'
  262. h = 'H'
  263. i = 'I'
  264. j = 'J'
  265. k = 'K'
  266. l = 'L'
  267. m = 'M'
  268. n = 'N'
  269. o = 'O'
  270. p = 'P'
  271. q = 'Q'
  272. r = 'R'
  273. s = 'S'
  274. t = 'T'
  275. u = 'U'
  276. v = 'V'
  277. w = 'W'
  278. x = 'X'
  279. y = 'Y'
  280. z = 'Z'
  281. backslash = '\'
  282. 0 = '0'
  283. 1 = '1'
  284. 2 = '2'
  285. 3 = '3'
  286. 4 = '4'
  287. 5 = '5'
  288. 6 = '6'
  289. 7 = '7'
  290. 8 = '8'
  291. 9 = '9'
  292. a_ = option "K00"
  293. b_ = option "K0b"
  294. c_ = option "K08"
  295. d_ = option "K02"
  296. e_ = option "K0e"
  297. f_ = option "K03"
  298. g_ = option "K05"
  299. h_ = option "K04"
  300. i_ = option "K22"
  301. j_ = option "K26"
  302. k_ = option "K28"
  303. l_ = option "K25"
  304. m_ = option "K2e"
  305. n_ = option "K2d"
  306. o_ = option "K1f"
  307. p_ = option "K23"
  308. q_ = option "K0c"
  309. r_ = option "K0f"
  310. s_ = option "K01"
  311. t_ = option "K11"
  312. u_ = option "K20"
  313. v_ = option "K09"
  314. w_ = option "K0d"
  315. x_ = option "K07"
  316. y_ = option "K10"
  317. z_ = option "K06"
  318. i-beam = option "K12"
  319. del-tilde = option "K13"
  320. grade-down = option "K14"
  321. grade-up = option "K15"
  322. vert-rotate = option "K17"
  323. transpose = option "K16"
  324. hor-rotate = option "K1a"
  325. logarithm = option "K1c"
  326. nor = option "K19"
  327. nand = option "K1d"
  328. apl-exclaim = option "K1b"
  329. domino = option "K18"
  330. quote-quad = option "K1e"
  331. delta_ = option "K2a"
  332. format = option "K29"
  333. execute = option "K27"
  334. lamp = option "K2b"
  335. expand = option "K2f"
  336. compress = option "K2c"
  337.  
  338. # function mappings
  339.  
  340. enter = normal "0d"
  341.  
  342. pf1 = command '1'
  343. pf1 = "K53"        # keypad 1
  344. pf1 = "K7a"        # F1
  345. pf1 = "K72"        # help
  346.  
  347. pf2 = command '2'
  348. pf2 = "K54"        # keypad 2
  349. pf2 = "K78"        # F2
  350.  
  351. pf3 = command '3'
  352. pf3 = "K55"        # keypad 3
  353. pf3 = "K63"        # F3
  354. pf3 = "K77"        # end
  355.  
  356. pf4 = command '4'
  357. pf4 = "K56"        # keypad 4
  358. pf4 = "K76"        # F4
  359.  
  360. pf5 = command '5'
  361. pf5 = "K57"        # keypad 5
  362. pf5 = "K60"        # F5
  363.  
  364. pf6 = command '6'
  365. pf6 = "K58"        # keypad 6
  366. pf6 = "K61"        # F6
  367.  
  368. pf7 = command '7'
  369. pf7 = "K59"        # keypad 7
  370. pf7 = "K62"        # F7
  371. pf7 = "K74"        # page up
  372.  
  373. pf8 = command '8'
  374. pf8 = "K5b"        # keypad 8
  375. pf8 = "K64"        # F8
  376. pf8 = "K79"        # page down
  377.  
  378. pf9 = command '9'
  379. pf9 = "K5c"        # keypad 9
  380. pf9 = "K65"        # F9
  381.  
  382. pf10 = command '0'
  383. pf10 = "K52"    # keypad 0
  384. pf10 = "K6d"    # F10
  385.  
  386. pf11 = command '-'
  387. pf11 = "K41"    # keypad .
  388. pf11 = "K67"    # F11
  389.  
  390. pf12 = command '='
  391. pf12 = "K4c"    # keypad enter
  392. pf12 = "K6f"    # F12
  393.  
  394. pf13 = command-shift '1'
  395. pf13 = shift "K53"    # keypad 1
  396. pf13 = "K69"        # F13
  397. pf13 = shift "K7a"    # F1
  398.  
  399. pf14 = command-shift '2'
  400. pf14 = shift "K54"    # keypad 2
  401. pf14 = "K6b"        # F14
  402. pf14 = shift "K78"    # F2
  403.  
  404. pf15 = command-shift '3'
  405. pf15 = shift "K55"    # keypad 3
  406. pf15 = "K71"        # F15
  407. pf15 = shift "K63"    # F3
  408.  
  409. pf16 = command-shift '4'
  410. pf16 = shift "K56"    # keypad 4
  411. pf16 = shift "K76"    # F4
  412.  
  413. pf17 = command-shift '5'
  414. pf17 = shift "K57"    # keypad 5
  415. pf17 = shift "K60"    # F5
  416.  
  417. pf18 = command-shift '6'
  418. pf18 = shift "K58"    # keypad 6
  419. pf18 = shift "K61"    # F6
  420.  
  421. pf19 = command-shift '7'
  422. pf19 = shift "K59"    # keypad 7
  423. pf19 = shift "K62"    # F7
  424.  
  425. pf20 = command-shift '8'
  426. pf20 = shift "K5b"    # keypad 8
  427. pf20 = shift "K64"    # F8
  428.  
  429. pf21 = command-shift '9'
  430. pf21 = shift "K5c"    # keypad 9
  431. pf21 = shift "K65"    # F9
  432.  
  433. pf22 = command-shift '0'
  434. pf22 = shift "K52"    # keypad 0
  435. pf22 = shift "K6d"    # F10
  436.  
  437. pf23 = command-shift '-'
  438. pf23 = shift "K41"    # keypad .
  439. pf23 = shift "K67"    # F11
  440.  
  441. pf24 = command-shift '='
  442. pf24 = shift "K4c"    # keypad enter
  443. pf24 = shift "K6f"    # F12
  444.  
  445. pa1 = command ','
  446. pa1 = "K51"            # keypad = (ADB keypad)
  447. pa1 = shift "K48"    # keypad , (numeric/Plus keypad)
  448.  
  449. pa2 = command '.'
  450. pa2 = "K4b"            # keypad / (ADB keypad)
  451. pa2 = shift "K4d"    # keypad / (numeric/Plus keypad)
  452.  
  453. pa3 = command '\'
  454. pa3 = command "03"    # enter
  455.  
  456. clear = command 'c'
  457. clear = "1b"        # keypad clear
  458.  
  459. treq = command '/'
  460. treq = "K43"        # keypad * (ADB keypad)
  461. treq = shift "K42"    # keypad * (numeric/Plus keypad)
  462.  
  463. cursel = command 'l'
  464.  
  465. up = command 'u'
  466. up = "1e"            # up arrow code
  467.  
  468. down = command 'm'
  469. down = command 'n'
  470. down = "1f"            # down arrow code
  471.  
  472. left = command 'h'
  473. left = "1c"            # left arrow code
  474. left = normal "08"    # backspace/delete code
  475.  
  476.  
  477. right = command 'j'
  478. right = command 'k'
  479. right = "1d"        # right arrow code
  480.  
  481. tab = normal "09"    # tab key
  482. backtab = shift "09"
  483.  
  484. newline = "03"            # enter key
  485. newline = shift "0d"    # return key
  486.  
  487. home = command "0d"        # return key
  488. home = "K73"            # home key
  489.  
  490. erase-eof = command 'e'
  491. erase-eof = "K4e"        # keypad -
  492.  
  493. erase-input = command-shift 'e'
  494. erase-input = shift "K4e"    # keypad -
  495.  
  496. insert-mode = command 'i'
  497. insert-mode = "K45"            # keypad + (ADB keypad)
  498. insert-mode = shift "K46"    # keypad + (numeric/Plus keypad)
  499.  
  500. delete-char = shift "08"    # backspace/delete key
  501. delete-char = "K75"            # X (Del) key
  502.  
  503. reset = command 'r'
  504.  
  505. dup = command 'd'
  506.  
  507. field-mark = command 'f'
  508.  
  509. apl-mode = command 'a'
  510.  
  511. insert-char = option "08"    # backspace/delete key
  512.  
  513. rub-out = command "08"        # backspace/delete key
  514.  
  515. up*2 = command-shift 'u'
  516. up*2 = option "1e"            # up arrow code
  517.  
  518. down*2 = command-shift 'm'
  519. down*2 = command-shift 'n'
  520. down*2 = option "1f"        # down arrow code
  521.  
  522. left*2 = command-shift 'h'
  523. left*2 = option "1c"        # left arrow code
  524.  
  525. right*2 = command-shift 'j'
  526. right*2 = command-shift 'k'
  527. right*2 = option "1d"        # right arrow code
  528.  
  529. cursor-pos = command 'p'
  530.  
  531. prog-reset = command 'g'
  532.  
  533. print-screen = shift "K69"    # F13
  534.